%% -*- mode: erlang; -*-

{erl_opts, [debug_info, {feature, maybe_expr, enable}]}.
{deps, [
    %% The following two are dependencies of rabbit_common
    {thoas, {git, "https://github.com/emqx/thoas.git", {tag, "v1.0.0"}}},
    {credentials_obfuscation,
        {git, "https://github.com/emqx/credentials-obfuscation.git", {tag, "v3.2.0"}}},
    %% The v3.11.13.2 (v3.11.13_with_app_src branch), employed in the next two dependencies,
    %% represents a fork of the official RabbitMQ v3.11.13 tag. This fork diverges
    %% from the official version as it includes app and hrl files
    %% generated by make files in subdirectories deps/rabbit_common and
    %% deps/amqp_client (app files are also relocated from the ebin to the src
    %% directory). This modification ensures compatibility with rebar3, as
    %% rabbit_common and amqp_client utilize the erlang.mk build tool.
    %% Similar changes are probably needed when upgrading to newer versions
    %% of rabbit_common and amqp_client. There are hex packages for rabbit_common and
    %% amqp_client, but they are not used here as we don't want to depend on
    %% packages that we don't have control over.
    {rabbit_common,
        {git_subdir, "https://github.com/emqx/rabbitmq-server.git", {tag, "v3.11.13.2"},
            "deps/rabbit_common"}},
    {amqp_client,
        {git_subdir, "https://github.com/emqx/rabbitmq-server.git", {tag, "v3.11.13.2"},
            "deps/amqp_client"}},
    {emqx_connector, {path, "../../apps/emqx_connector"}},
    {emqx_resource, {path, "../../apps/emqx_resource"}},
    {emqx_bridge, {path, "../../apps/emqx_bridge"}}
]}.

{shell, [
    {apps, [emqx_bridge_rabbitmq]}
]}.
